<?php
    include_once '../Model/AtletaDatabase.php';
    
    function enviandoEmailNovaSenha($email){
        if (validaEmail($email) <> FALSE) {
            echo "email valido";
            if (verificarEmailExiste($email) <> FALSE) {
                $array_atletaAtual = verificarEmailExiste($email);
                $atletaAtual = $array_atletaAtual[0];
                $nome=$atletaAtual->getNome();
                enviarEmail($email, $nome, gerarSenha());
                echo 'O e-mail foi enviado para sua caixa de entrada com uma nova senha.';
            } else {
                echo 'Email não cadastrado.';
            }
        } else {
            echo 'Email invalido!';
        }
    }

    
    // Faz a verificação se o email tem o formato válido 
    function validaEmail($email) {
 
	$conta = "^[a-zA-Z0-9\._-]+@";
        $domino = "[a-zA-Z0-9\._-]+.";
        $extensao = "([a-zA-Z]{2,4})$";
 
        $pattern = $conta.$domino.$extensao;
        
        if (ereg($pattern, $email))
            return true;
        else
            return false;
    }
    
    //Envia email com nova senha
    function enviarEmail($para, $nome, $novaSenha){
        // procedimento para envio de email.
        $subject = "Nova senha";
        $message = "<h1>ThisWay</h1><br />
        Prezado(a) ".$nome.", <br/>
        Foi solicidado a alteração de sua senha através do procedimento <b> Esqueci minha senha </b>
        disponivel em nosso site. <br/> Você está recebendo uma nova senha para poder acessar o <b> ThisWay </b>
        <br/> Email: ".$para."<br/>Senha: <b>".$novaSenha."</b>";
        mail($para, $subject, $message);
    }
    
    // função para verificação se o email esta cadastrado no banco de dados
    function verificarEmailExiste($email) {
        $atleta = new Atleta($email,"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "");
        
        try {
            $array_Atletas = new AtletaDataBase();
            $array_Atletas->pesquisarAtleta($atleta);
            if (size_of($array_Atletas)>0){
                return $array_Atletas;
            } else {
                return FALSE;
            }
        }catch (Exception $e){
            echo $e->getMessage();
        }
    }
    
    //função para gerar uma nova senha
    function gerarSenha(){
        $length = 8;
        $chars = "abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWYXZ0123456789_&$#@!";

        $chars_length = (strlen($chars) - 1);
        $string = $chars{rand(0, $chars_length)};

        for ($i = 1; $i < $length; $i = strlen($string))
        {
            $r = $chars{rand(0, $chars_length)};

            if ($r != $string{$i - 1}) $string .=  $r;
        }
        return $string;
    }
    
    //Edita a senha para nova senha
    function editarSenhaAtleta($novaSenha, $email){
        $novaSenha = base64_encode($novaSenha);
        
        $atletaAtual = recuperarAtleta($email);
    
        $atletaAtual->getPerfilAtleta()->setEmail($novaSenha);
    
        $db = new AtletaDataBase;
        
        $db->alterar($atletaAtual);      
        
    }
?>
